//package com.leaf.lowcode.controller;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.alibaba.fastjson.serializer.SerializerFeature;
//import com.leaf.lowcode.entity.door_control.DoorCardOnlineStatus;
//import com.leaf.lowcode.entity.door_control.GetRequest;
//import com.leaf.lowcode.service.DoorCarList;
//import com.leaf.lowcode.utils.RegularInstance;
//import com.tencent.welink.iot.SubDeviceDTO;
//import com.tencent.welink.iot.WelinkHttp;
//import org.springframework.context.annotation.PropertySource;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.ResponseBody;
//
//import java.util.ArrayList;
//import java.util.List;
//
//
//@Controller
//@RequestMapping("/hikdoorfunction1")
//@PropertySource({"classpath:resource.properties"})
//public class DotDoorController {
//
//    @PostMapping(value="doordot")
//    @ResponseBody
//    public void doorDotUpload()
//    {
//        List<SubDeviceDTO> subDeviceDTOList = RegularInstance.subDeviceDTOList;
//        //门禁卡
//        GetRequest getRequest = new GetRequest();
//        //门禁卡状态
//        DoorCardOnlineStatus doorCardOnlineStatus = new DoorCardOnlineStatus();
//
//        ArrayList<String> statusIndexList=new ArrayList<String>();
//        ArrayList<Integer> statuCodeList=new ArrayList<Integer>();
//
//       // System.out.println("subDeviceDTOList" + subDeviceDTOList);
//        //查询设备点列表
//        getRequest.setPageNo(1);
//        getRequest.setPageSize(12);
//        String urlDoorCar="/api/resource/v1/reader/get";
//        String urlgetdoor="/api/nms/v1/online/reader/get";
//
//        DoorCarList doorCarList = new DoorCarList();
//        String door = doorCarList.function(getRequest, urlDoorCar);
//        JSONObject jsonDoorCar = JSON.parseObject(door);
//        JSONArray doorArray = (JSONArray) ((JSONObject) jsonDoorCar.get("data")).get("list");
//      //  System.out.println("o"+doorArray);
//        ArrayList<String> indexList=new ArrayList<String>();
//        for(int i=0;i<doorArray.size();i++)
//        {
//            System.out.println("i"+i);
//            JSONObject json = (JSONObject) doorArray.get(i);
//            String indexCode = (String) json.get("indexCode");
//           // System.out.println("indexCode"+indexCode);
//            indexList.add(indexCode);
//        }
//        if (subDeviceDTOList != null) {
//            for (SubDeviceDTO dto : subDeviceDTOList) {
//                String pid = dto.getPid();
//                String sn = dto.getSn();
//                String din = dto.getDin();
//                for (int i=0;i<indexList.size();i++) {
//                    String indexcode = indexList.get(i);
//                    if(indexcode.equals(sn))
//                    {
//                      //  System.out.println("sn"+sn);
//                       doorCardOnlineStatus.setPageNo(1);
//                        doorCardOnlineStatus.setPageSize(20);
//                     //   doorCardOnlineStatus.setIndexCodes(indexList);
//                      //  System.out.println("tostring"+doorCardOnlineStatus.getIndexCodes().toString());
//                        String doorcardstatus = doorCarList.function(doorCardOnlineStatus,urlgetdoor);
//                        System.out.println("doorcardstatus"+doorcardstatus);
//                        JSONObject doorcardstatusJson = JSONObject.parseObject(doorcardstatus);
//                        JSONArray doorcardstatusArray = (JSONArray) ((JSONObject) doorcardstatusJson.get("data")).get("list");
//                        for(int j=0;j<doorcardstatusArray.size();j++)
//                        {
//                            JSONObject jsonObject = doorcardstatusArray.getJSONObject(j);
//                            System.out.println("jsonObject"+jsonObject);
//                            String indexCode = (String) jsonObject.get("indexCode");
//                            int online= 0;
//                            try {
//                                online = (int) jsonObject.get("online");
//                            } catch (Exception e) {
//                                System.out.println("出现空指针异常");
//                            }
//                           statusIndexList.add(indexCode);
//                          statuCodeList.add(online);
//                        }
//
//                        JSONObject standardData = new JSONObject();
//                        standardData.put("reportTs",System.currentTimeMillis());
//                        JSONObject profile = new JSONObject();
//                        profile.put("modelID","200445");
//                        profile.put("appType","security_monitoring");
//                        profile.put("poiCode","w0301007");
//                        standardData.put("profile",profile);
//                        WelinkHttp wh = new WelinkHttp(RegularInstance.registerData1, RegularInstance.loginData);
//                        for(int k=0;k<statusIndexList.size();k++)
//                        {
//                            JSONObject event = new JSONObject();
//                            JSONObject events = new JSONObject();
//                            event.put("indexCode",statusIndexList.get(k));
//                            event.put("online",statuCodeList.get(k));
//                            System.out.println("event========="+event);
//                            events.put("status",event);
//                            standardData.put("events", events);
//                            standardData.put("properties", "{}");
//                            try {
//                                System.out.println("=============================================");
//                                String devRunEvent = JSONObject.toJSONString(standardData, SerializerFeature.WriteMapNullValue);
//                                System.out.println("发送设备运行时事件数据==" + devRunEvent);
//                                System.out.println("--------------------------------开始传输设备运行时事件数据");
//                                wh.sendMessage(RegularInstance.loginData.load(), 80000, Long.parseLong(din), devRunEvent, true);
//                            } catch (Exception e) {
//                                System.out.println("设备运行时事件数据传输出现异常");
//                            }
//
//
//                    }
//                }
//
//
//                }
//            }
//        }
//
//    }
//}
